package com.starview.star.compiler.canonical;

public interface TransformAction<A, E, P, C, D, T>
{
  A transformAssertAction(AssertAction act, T context);

  A transformAssignment(Assignment act, T context);

  A transformCaseAction(CaseAction exp, T context);

  A transformConditionalAction(ConditionalAction act, T context);

  A transformExceptionHandler(ExceptionHandler handler, T context);

  A transformForLoop(ForLoopAction loop, T context);

  A transformIgnored(Ignore ignore, T context);

  A transformLetAction(LetAction let, T context);

  A transformWhileLoop(WhileAction act, T context);

  A transformNullAction(NullAction act, T context);

  A transformProcedureCallAction(ProcedureCallAction call, T context);

  A transformRaiseAction(RaiseAction raise, T context);

  A transformSequence(Sequence sequence, T context);

  A transformSyncAction(SyncAction sync, T context);

  A transformValisAction(ValisAction act, T context);

  A transformVarDeclaration(VarDeclaration var, T context);

  A transformYield(Yield act, T context);
}
